package model;

import java.util.*;

public class Reservation
{
	private int id;
	private Date reservationDate;
	private Date moveInDate;
	private ReservationStatus status;
	private ArrayList<ApartmentType> types;
	private ArrayList<Apartment> apartments;
	private Renter renter;
	
	public Reservation()
	{
		if(this.types==null)
		{
			this.types = new ArrayList<ApartmentType>();
		}
		if(this.apartments==null)
		{
			this.apartments = new ArrayList<Apartment>();
		}
	}
	public Reservation(int id)
	{
		this.id = id;
	}
	/* ACCESSORS */
	public int getId()
	{
		return id;
	}
	public Date getReservationDate()
	{
		return reservationDate;
	}
	public Date getMoveInDate()
	{
		return moveInDate;
	}
	public ReservationStatus getStatus()
	{
		return status;
	}
	public ArrayList<ApartmentType> getTypes()
	{
		return types;
	}
	public ArrayList<Apartment> getApartments()
	{
		return apartments;
	}

	public Renter getRenter()
	{
		return renter;
	}
	/* MUTATORS */
	public void setId(int id)
	{
		this.id = id;
	}
	public void setReservationDate(Date reservationDate)
	{
		this.reservationDate = reservationDate;
	}
	public void setMoveInDate(Date moveInDate)
	{
		this.moveInDate = moveInDate;
	}
	public void setStatus(ReservationStatus status)
	{
		this.status = status;
	}
	public void setTypes(ArrayList<ApartmentType> types)
	{
		this.types = types;
	}
	public void setApartments(ArrayList<Apartment> apartments)
	{
		this.apartments = apartments;
	}
	public void setRenter(Renter renter)
	{
		this.renter = renter;
	}
	public void addApartment(Apartment apartment)
	{
		this.apartments.add(apartment);
	}
	public void addType(ApartmentType type)
	{
		this.types.add(type);
	}
	
}
